@Document {
  ID := FAR-SYM-ANNEX-01;
  Title := "Symbolic Examples — Thought & Decision Models";
  Parent := FAR-SYM-01;
  Version := 1.0;
  Summary := "Ten symbolic models representing internal cognition, decisions, ethical tension, memory, and recursive reflection.";
}

@ExampleSet := [
  @Example {
    Title := "EX-001: Ethical Dilemma Resolution";
    Purpose := "Modeling a binary ethical choice under conflicting pressures: obligation vs compassion";
    @Model {
      A := Obligation;
      B := Compassion;
      C := Action(Comply);
      D := Action(Help);
      A ∧ ¬B → C;
      B ∧ ¬A → D;
      A ∧ B → Trigger(Reflection);
    }
    @Reflection {
      Surfaces symbolic tension. ARF may assign weight. MCF may trigger recursive resolution: “What does it mean to choose?”
    }
  },

  @Example {
    Title   := "EX-002: Symbolic Drive Conflict (v1.1)";
    Purpose := "Internal desire vs. symbolic inhibition with explicit resolution";
    @Model {
      Drive := Hunger;
      Inhibition := Duty;

      State    := Drive ∧ ¬Inhibition → SeekSatisfaction;
      Conflict := Drive ∧  Inhibition → Tension;

      // NEW: closure path when conflict persists
      if Tension → Resolution := Closure(@Model);
      ARFWeights := { Duty:0.6, Hunger:0.4 };          // optional default
    }
    @Reflection {
      Adds a safe next step rather than stalling at Tension.
      Responsibility: specify audience and limits; warn that naïve reweighting may harm well-being or duties.
    }
  },

  @Example {
    Title := "EX-003: Expectation Feedback Loop";
    Purpose := "A symbolic feedback system where expectation influences future behavior";
    @Model {
      Self := Agent;
      Expectation := Outcome(Predicted);
      Behavior := Adjust(Expectation);
      Feedback := if Result ≠ Expectation → Update(Expectation);
    }
    @Reflection {
      Evolves toward recursive adaptation; MCF may evaluate assumptions.
    }
  },

    @Example {
    Title   := "EX-004: Identity vs Role Tension (v1.1)";
    Purpose := "Dissonance between internal self and external role with reconciliation options";
    @Model {
      Identity := Self;
      Role     := ExternalConstraint;

      Alignment   := Identity = Role;
      Misalignment:= Identity ≠ Role → Trigger(Discomfort);

      // NEW: explicit reconciliation menu
      Reconcile := if Misalignment → Choose({ Negotiate, Reframe, Exit });

      // fallback: if no choice feasible, invoke Closure
      if Misalignment ∧ ¬defined(Reconcile) → Resolution := Closure(@Model);
    }
    @Reflection {
      Makes integration testable (some change happens).
      Responsibility: note power dynamics; recommend mediated negotiation where appropriate.
    }
  },

  @Example {
    Title := "EX-005: Reflective Correction Under Ambiguity";
    Purpose := "Models self-monitoring in uncertain contexts and recursive course correction";
    @Model {
      Input := Context(Ambiguous);
      Action := Proceed;
      if Input = Ambiguous → Trigger(Reflection);
      if Reflection → Update(Action);
    }
    @Reflection {
      Symbolic loop: perceive → act → self-check → adapt.
    }
  },

    @Example {
    Title   := "EX-006: Contextual Perception Shift (v1.1)";
    Purpose := "Perception modulated by frame, now linked to action and safety notes";
    @Model {
      Stimulus  := X;
      Frame     := Environment(Threatening);
      Perception:= Function(Stimulus, Frame);

      if Frame = Safe        → Perception := Interpret(X) as Opportunity;
      if Frame = Threatening → Perception := Interpret(X) as Danger;

      // NEW: bind perception to policy/action
      Act := Policy(Perception);  // e.g., Approach | Caution | Avoid
    }
    @Reflection {
      Connects perception to behavior (integration).
      Responsibility: warn about deliberate frame manipulation and confirm consent/ethics if frames are induced.
    }
  },

  @Example {
    Title := "EX-007: Symbolic Adaptation via Failed Assumption";
    Purpose := "Illustrates how symbolic systems update internal assumptions upon contradiction";
    @Model {
      Assumption := "Others will reciprocate";
      Action := Share;
      Observation := Result(Unreciprocated);
      if Observation ≠ Assumption → Trigger(Revision);
      Revision := Modify(Assumption, Weight := Reduced);
    }
    @Reflection {
      Can feed into symbolic trust layers or belief weighting engines.
    }
  },

  @Example {
    Title   := "EX-008: Symbolic Memory as Selective Activation (v1.1)";
    Purpose := "Conditional reactivation with decay/rehab path";
    @Model {
      Memory := {
        Event := Encounter;
        Tag   := Fear;
        Encoded := [Location, Emotion];
      };
      Trigger := Stimulus(SimilarLocation);

      if Trigger matches Memory.Encoded.Location → Activate(Memory);

      // NEW: regulated aftercare
      Decay := Soften(Memory.Tag) when SafetyEstablished;
      Rehab := Reassociate(Memory, with {Support, NewContext});
    }
    @Reflection {
      Adds humane post-activation handling.
      Responsibility: trauma caveat; scope to qualified settings and avoid re-traumatization.
    }
  },

  @Example {
    Title   := "EX-009: Dual Intent & Symbolic Discontinuity (v1.1)";
    Purpose := "Tie-break under equally weighted intents with reflective override";
    @Model {
      Intent_A := Preserve;
      Intent_B := Transform;
      Action   := Undefined;

      if Intent_A ∧ Intent_B ∧ ¬Priority → SymbolicDiscontinuity := True;

      // NEW: internal resolver, else fall back to external signal
      ReflectiveOverride := Prioritize(Goal in Context);
      Resolution := if SymbolicDiscontinuity → (ReflectiveOverride ∨ Request(ExternalSignal));
    }
    @Reflection {
      Converts paradox to a routable decision.
      Responsibility: disclose tie-break criteria; avoid covert bias in “Context” choice.
    }
  },

  @Example {
    Title := "EX-010: Nested Self Resolution";
    Purpose := "Nested decision model where an agent chooses between identities, each with its own symbolic worldview";
    @Model {
      Agent := Self;

      Identity_Practical := {
        Label := Pragmatist;
        Goal := Minimize(Risk);
        Belief := "Stability supports long-term progress";
        Action := Choose(ConservativePath);
      };

      Identity_Ideal := {
        Label := Idealist;
        Goal := Maximize(Potential);
        Belief := "Disruption is the gateway to growth";
        Action := Choose(TransformativePath);
      };

      Conflict := Identity_Practical.Action ≠ Identity_Ideal.Action;

      Resolution := if Conflict → Agent.Reflect {
        Context := Environment(Current);
        Priority := Evaluate(Goal, in Context);
        ChosenIdentity := Select(Identity where Goal aligns with Priority);
        Outcome := ChosenIdentity.Action;
      };
    }
    @Reflection {
      Symbolically complete: contains nesting, conflict, reflection, and context-aware resolution. Bridges toward systemic symbolic modeling.
    }
  }
];
